package com.cy.ppj.dao.mapper.customer;

import com.cy.ppj.model.domian.customer.Customer;
import com.cy.ppj.model.dto.customer.CustomerOrderDTO;
import com.cy.ppj.model.dto.customer.CustomerOrderScanRecordDTO;
import com.cy.ppj.model.query.customer.CustomerListAdminQuery;
import com.cy.ppj.model.vo.customer.CustomerDetailAdminVO;
import com.cy.ppj.model.vo.customer.CustomerListAdminVO;
import com.cy.ppj.model.vo.customer.MallCustomerDetailAdminVO;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import tk.mybatis.mapper.common.BaseMapper;

/**
 * 客户CustomerMapper
 *
 * @author tanyilin
 *
 * @create 2019年2月20日 上午10:12:37
 */
@Mapper
public interface CustomerMapper extends BaseMapper<Customer> {

    CustomerOrderDTO selectCustomerOrderInfo(@Param("idNo") String idNo, @Param("productId") Long productId);
    
    CustomerOrderScanRecordDTO selectCustomerOrderScanRecordInfo(@Param("idNo") String idNo, @Param("productId") Long productId);

	int selectCustomerListAdminCount(CustomerListAdminQuery query);

	List<CustomerListAdminVO> selectCustomerListAdmin(CustomerListAdminQuery query);

	/**
	 * 后台-查询客户详情
	 * 
	 * @param customerId
	 * @return
	 */
	CustomerDetailAdminVO selectCustomerDetailAdmin(Long customerId);

	/**
	 * 后台-查询马先生商城客户详情
	 * 
	 * @param customerId
	 * @return
	 */
	MallCustomerDetailAdminVO selectMallCustomerDetailAdminVO(Long customerId);

}
